#include <bits/stdc++.h>
#define rep(i,n) for(int i=0,del##i##verme=int(n);i<del##i##verme;++i)
#define rep1(i,n) for(int i=1,parano##i##a=int(n);i<=parano##i##a;++i)
#define per(i,n) for(int i=int(n)-1;i>=0;--i)
#define per1(i,n) for(int i=int(n);i>=1;--i)
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define y0 Lingluo
#define y1 VividCycle
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ldb;
const ll mod1=998244353;
const ll mod2=1000000007;
const ldb pi=3.14159265358979323846264338327950;
unsigned time_related_rand()
{
    return unsigned(chrono::steady_clock::now().time_since_epoch().count());
}
int n,r,c[100005],ans;
int main()
{
    #ifndef DEBUG
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    #endif
    ios_base::sync_with_stdio(false);cin.tie(0);
    cin>>n;
    rep1(i,n)
    {
        cin>>r;
        ans=max(ans,++c[r]);
    }
    cout<<ans<<"\n";
    return 0;
}
/*
1. check file name, corner case, i or j, < or <=, x or y, p or q, > or >=, c or d, n or m, n or q, overflow
2. time / memory: by ulimit -v LIMIT(kb) and ulimit -s 1048576 (use time ./prog , size prog or usr/bin/time -v prog)
*/
/*
maybe sonner or later, I can fall in love with a leaf
*/